package com.ruoyi.odorservice.entity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

@Data
@ApiModel
@TableName("odor_handle_sample")
public class HandleSample {

    /**
    * id
    */
    @TableId(type = IdType.AUTO)
    @NotNull(message="[id]不能为空")
    @ApiModelProperty("id")
    private Integer id;
    /**
    * 物质名称
    */
    @NotBlank(message="[物质名称]不能为空")
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("物质名称")
    @Length(max= 20,message="编码长度不能超过20")
    private String materialName;
    /**
    * 物质英文名称
    */
    @Size(max= 128,message="编码长度不能超过128")
    @ApiModelProperty("物质英文名称")
    @Length(max= 128,message="编码长度不能超过128")
    private String materialNameEn;
    /**
    * cas号
    */
    @NotBlank(message="[cas号]不能为空")
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("cas号")
    @Length(max= 20,message="编码长度不能超过20")
    private String casNo;
    /**
    * 物质浓度
    */
    @NotNull(message="[物质浓度]不能为空")
    @ApiModelProperty("物质浓度")
    private Double materialConcentration;
    /**
    * 嗅觉阈值
    */
    @NotNull(message="[嗅觉阈值]不能为空")
    @ApiModelProperty("嗅觉阈值")
    private Double olfactoryThreshold;
    /**
    * 气味属性
    */
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("气味属性")
    @Length(max= 100,message="编码长度不能超过100")
    private String odorAttribute;
    /**
    * 气味活度值=物质浓度/嗅觉阈值
    */
    @NotNull(message="[气味活度值=物质浓度/嗅觉阈值]不能为空")
    @ApiModelProperty("气味活度值=物质浓度/嗅觉阈值")
    private Double oav;
    /**
    * 相关性
    */
    @NotNull(message="[相关性]不能为空")
    @ApiModelProperty("相关性")
    private Double relevance;
    /**
    * 点位名称
    */
    @NotBlank(message="[点位名称]不能为空")
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("点位名称")
    @Length(max= 20,message="编码长度不能超过20")
    private String siteName;
    /**
    * 数据来源
    */
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("数据来源")
    @Length(max= 20,message="编码长度不能超过20")
    private String dataSource;
    /**
    * 企业名称
    */
    @NotBlank(message="[企业名称]不能为空")
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("企业名称")
    @Length(max= 50,message="编码长度不能超过50")
    private String companyName;
    /**
    * 采样时间
    */
    @NotNull(message="[采样时间]不能为空")
    @ApiModelProperty("采样时间")
    private Date sampleTime;
}
